In some conferencing systems, a single multipoint controller (MC) may control or be associated with multiple media processors (MP), also referred to as multipoint processors. The multipoint controller may need to select which media processor to use for a new conference when a new conference session is requested.
In some systems, the multipoint controller (MC) may check to see how many conferencing participants are allocated to each media processor (MP) controlled by the multipoint controller. Based on this information, the multipoint controller can select the media processor with the fewest participants to host the new conference. Unfortunately, such an approach does not take into account the fact that a software based or implemented media processor may operate on a wide variety of hardware platforms. For example, suppose one media processor currently is running or supporting ten channels/participants for a conference on a Pentium III™ based computer operating at 866 MHz and a second media processor is running or supporting fifteen channels/participants for a conference on a Pentium IV™ based server operating at 2 GHz. The traditional approach would choose the Pentium III™ based computer for supporting a new conference, even though the Pentium IV™ based server may be able to support a much larger number of new conferencing channels/participants. By using the Pentium III™ based computer, the multipoint controller increases the likelihood of not being able to expand the conference to support all of the required participants for the new conference, particularly since the number of participants for a conference may be unknown at the time of creation of the conference and may change over time.
It would be advantageous to provide a method and apparatus that overcame the drawbacks of the prior art. In particular, it would be desirable to provide a method, apparatus, means, and computer code that considers the fact that different software based media processors may have different capabilities and processing resources depending on the hardware on which they are operating.